package com.tanhua.dubbo.api;


import com.tanhua.domain.vo.PageResult;

public interface UserLikeApi {
    /**
     * 互相喜欢数
     *
     * @param userId
     * @return
     */
    Long queryEachLoveCount(Long userId);

    /**
     * 喜欢数
     *
     * @param userId
     * @return
     */
    Long queryLoveCount(Long userId);

    /**
     * 粉丝数
     *
     * @param userId
     * @return
     */
    Long queryFanCount(Long userId);

    /**
     * 查询喜欢用户列表
     *
     * @param userId
     * @param page
     * @param pagesize
     * @return
     */
    PageResult queryLoveList(Long userId, Integer page, Integer pagesize);

    /**
     * 查询互相喜欢列表
     *
     * @param userId
     * @param page
     * @param pagesize
     * @return
     */
    PageResult queryEachLoveList(Long userId, Integer page, Integer pagesize);

    /**
     * 查询粉丝列表
     *
     * @param userId
     * @param page
     * @param pagesize
     * @return
     */
    PageResult queryFanList(Long userId, Integer page, Integer pagesize);

    /**
     * 查询谁看过我列表
     *
     * @param userId
     * @param page
     * @param pagesize
     * @return
     */
    PageResult queryVisitorList(Long userId, Integer page, Integer pagesize);

    /**
     * 删除粉丝数据
     *
     * @param userId
     * @param uid
     */
    void delete(Long userId, Long uid);

    /**
     * 查询是否存在粉丝关系
     *
     * @param userId          用户id
     * @param recommendUserId 推荐用户id
     * @return
     */
    Boolean findData(Long userId, Long recommendUserId);

    /**
     * 保存我的喜欢关系
     *
     * @param userId
     * @param recommendUserId
     */
    void save(Long userId, Long recommendUserId);
}
